package com.hxm.demo.leetcode;

import java.util.HashMap;
import java.util.Scanner;

/**
 * @author huangxiaoming
 * @date 2022/5/28
 **/
public class Test5 {
    /**
     * 描述
     * 写出一个程序，接受一个十六进制的数，输出该数值的十进制表示。
     * <p>
     * 数据范围：保证结果在 1 \le n \le 2^{31}-1 \1≤n≤2
     * 31
     * −1
     * 输入描述：
     * 输入一个十六进制的数值字符串。
     * <p>
     * 输出描述：
     * 输出该数值的十进制字符串。不同组的测试用例用\n隔开。
     *
     * @param args
     */

//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        while (in.hasNextLine()) { // 注意 while 处理多个 case
//            String s = in.nextLine();
//            char[] chars = s.replace("0x", "").toCharArray();
//            int sum = 0;
//            for (int i = chars.length - 1; i >= 0; i--) {
//                int n = 1;
//                if (i != chars.length - 1) {
//                    for (int j = 0; j < chars.length - 1 - i; j++) {
//                        n = n * 16;
//                    }
//                }
//
//                if (chars[i] == 'A') {
//                    sum += (10 * n);
//                } else if (chars[i] == 'B') {
//                    sum += (11 * n);
//                } else if (chars[i] == 'C') {
//                    sum += (12 * n);
//                } else if (chars[i] == 'D') {
//                    sum += (13 * n);
//                } else if (chars[i] == 'E') {
//                    sum += (14 * n);
//                } else if (chars[i] == 'F') {
//                    sum += (15 * n);
//                } else {
//                    sum += (((int) chars[i] - (int) '0') * n);
//                }
//            }
//            System.out.println(sum);
//        }
//    }

    private static final int BASE = 16;
    private static final HashMap<Character, Integer> map = new HashMap(16) {
        {
            {
                put('0', 0);
                put('1', 1);
                put('2', 2);
                put('3', 3);
                put('4', 4);
                put('5', 5);
                put('6', 6);
                put('7', 7);
                put('8', 8);
                put('9', 9);
                put('A', 10);
                put('B', 11);
                put('C', 12);
                put('D', 13);
                put('E', 14);
                put('F', 15);
                put('a', 10);
                put('b', 11);
                put('c', 12);
                put('d', 13);
                put('e', 14);
                put('f', 15);
            }
        }
    };

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String s = in.nextLine();
            String s1 = s.substring(2);
            int res = 0;
            for (int i = 0; i < s1.length(); i++) {
                res = map.get(s1.charAt(i)) + res * BASE;
            }
            System.out.println(res);
        }
    }
}
